An Object-Oriented Concurrent Reflective Language ABCL/R3 Its Meta-level Design and Efficient Implementation Techniques
نویسندگان
چکیده
This article presents the design principles and efficient implementation techniques for ABCL/R3, an object-oriented concurrent reflective language. One of the most distinguished features of ABCL/R3 is compilation techniques using partial evaluation, which effectively remove interpretation from meta-level programs. The meta-level objects are designed so that they can be partially evaluated in an effective manner. Benchmark programs show that our compilation frameworks make object execution drastically faster than interpreter-based implementations, and achieves performance close to nonreflective compilers. RÉSUMÉ. Cet article présente les principes orientateurs et les techniques utilisées pour l'implantation efficace d’ABCL/R3, un langage de programmation concurrent orienté-objet avec réflexion. L'une des caractéristiques majeures d’ABCL/R3 est sa compilation avec évaluation partielle, qui élimine l'interprétation pour les programmes du méta-niveau. Des programmes de test ont montré que notre approche exécute les objets incomparablement plus vite qu'une implantation naïve, avec des performances proches des compilateurs sans réflexion.
منابع مشابه
Optimizing Reflective Languages by Using Partial Evaluation
We present techniques of compiling a reflective concurrent object-oriented language, ABCL/R3, by using partial evaluation. Although the compilation framework is based on the first Futamura projection, mere application of partial evaluation cannot improve performance due to concurrent, object-oriented, and dynamically modifiable design in ABCL/R3. Instead of developing a dedicated partial evalua...
متن کاملDesign and Partial Evaluation of Meta-Objects for a Concurrent Reflective Language
Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution suffers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to metainterpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ineffective. This paper proposes a...
متن کاملAn Object-Oriented Concurrent Reflective Language . . .
Irregular parallel applications, whose data and communication patterns are determined only at run-time, often requires good dynamic resource management (DRM) tailored to the application and/or hardware architecture for e cient execution. To easily provide such DRM system, this paper proposes an object-oriented concurrent re ective language ABCL/R3. In ABCL/R3, various DRM systems including sche...
متن کاملAn Object-Oriented Concurrent Reflective Language for Dynamic Resource...
Irregular parallel applications, whose data and communication patterns are determined only at run-time, often requires good dynamic resource management (DRM) tailored to the application and/or hardware architecture for e cient execution. To easily provide such DRM system, this paper proposes an object-oriented concurrent re ective language ABCL/R3. In ABCL/R3, various DRM systems including sche...
متن کاملUsing Partial Evaluation in Re ective Concurrent Object - Oriented Languages
Parallel and distributed programs often have hardware/problem speci c optimizations for improving quality of the program such as e ciency and robustness. Those optimizations, unfortunately, degrade portability and re-usability as they are intertwined with the original algorithm description. Re ective languages, which provide the application programmer extensible and abstract implementation of t...
متن کامل